using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace SharpDropBoxClient
{
    public class ThuziStyleRestAsyncResult
    {
        /// <summary>
        /// The result of the asynchronous operation.
        /// </summary>
        private object result;

        private string content;

        /// <summary>
        /// The error that occurred processing this api call.
        /// </summary>
        private DropBoxApiException error;
        private HttpStatusCode statusCode;

        /// <summary>
        /// Initializes a new instance of the <see cref="FacebookAsyncResult"/> class.
        /// </summary>
        /// <param name="result">The result.</param>
        /// <param name="content">The result string.</param>
        /// <param name="error">The error.</param>
        public ThuziStyleRestAsyncResult(
            object result,
            string content,
            HttpStatusCode statusCode,
            DropBoxApiException error)
        {
            this.statusCode = statusCode;
            this.result = result;
            this.content = content;
            this.error = error;
        }

        /// <summary>
        /// Gets the error that occurred processing this api call.
        /// </summary>
        /// <value>The error.</value>
        public DropBoxApiException Error
        {
            get { return this.error; }
        }

        /// <summary>
        /// Gets the result of an asynchronous operation.
        /// </summary>
        /// <value>The result.</value>
        public object Result
        {
            get { return this.result; }
        }

        public string Content
        {
            get { return this.content; }
        }

        public HttpStatusCode StatusCode
        {
            get
            {
                return statusCode;
            }
        }
    }
}